package com.kingdee.pda.entity

import com.google.gson.annotations.SerializedName
import com.kingdee.pda.entity.CheckOrderDetailBean.Inventorytype
import com.kingdee.pda.entity.CheckOrderDetailBean.Detailinfo
import com.kingdee.pda.entity.CheckOrderDetailBean.Detailinfo.Sku
import com.kingdee.pda.entity.CheckOrderDetailBean.Detailinfo.Invstatus
import com.kingdee.pda.entity.CheckOrderDetailBean.Detailinfo.Detailowner
import com.kingdee.pda.entity.CheckOrderDetailBean.Detailinfo.Sku.Itemname
import com.kingdee.pda.entity.CheckOrderDetailBean.Detailinfo.Sku.Itembarcode
import java.io.Serializable

class CheckOrderDetailBean : Serializable {
    @SerializedName("id")
    var id: Long = 0

    @SerializedName("billno")
    var billno: String? = null

    @SerializedName("billstatus")
    var billstatus: String? = null

    @SerializedName("createtime")
    var createtime: String? = null

    @SerializedName("type")
    var type: String? = null

    @SerializedName("warehouse")
    var warehouse: Warehouse? = null

    @SerializedName("inventorytype")
    var inventorytype: Inventorytype? = null

    @SerializedName("detailinfos")
    var detailinfos: List<Detailinfo>? = null

    class Warehouse {
        @SerializedName("id")
        var id: Long = 0

        @SerializedName("number")
        var number: String? = null

        @SerializedName("name")
        var name: Name? = null

        @SerializedName("status")
        var status: String? = null

        @SerializedName("entryentity")
        var entryentity: List<Entryentity>? = null

        class Name {
            @SerializedName("zh_TW")
            var zhTw: String? = null

            @SerializedName("GLang")
            var gLang: String? = null

            @SerializedName("zh_CN")
            var zhCn: String? = null
        }

        class Entryentity {
            @SerializedName("id")
            var id: Long = 0

            @SerializedName("location")
            var location: Location? = null

            class Location {
                @SerializedName("id")
                var id: Long = 0

                @SerializedName("number")
                var number: String? = null

                @SerializedName("name")
                var name: Name? = null

                class Name {
                    @SerializedName("zh_TW")
                    var zhTw: String? = null

                    @SerializedName("GLang")
                    var gLang: String? = null

                    @SerializedName("zh_CN")
                    var zhCn: String? = null
                }
            }
        }
    }

    class Inventorytype {
        @SerializedName("id")
        var id: Long = 0

        @SerializedName("number")
        var number: String? = null

        @SerializedName("name")
        var name: Name? = null

        @SerializedName("note")
        var note: String? = null

        class Name {
            @SerializedName("zh_TW")
            var zhTw: String? = null

            @SerializedName("zh_CN")
            var zhCn: String? = null
        }
    }

    class Detailinfo {
        @SerializedName("id")
        var id: Long = 0

        @SerializedName("sku")
        var sku: Sku? = null

        @SerializedName("location")
        var location: Location? = null

        @SerializedName("invstatus")
        var invstatus: Invstatus? = null

        @SerializedName("detailownertype")
        var detailownertype: String? = null

        var detailownertypename: String? = null

        @SerializedName("detailowner")
        var detailowner: Detailowner? = null

        class Sku {
            @SerializedName("id")
            var id: Long = 0

            @SerializedName("number")
            var number: String? = null

            @SerializedName("name")
            var name: Name? = null

            @SerializedName("status")
            var status: String? = null

            @SerializedName("enable")
            var enable: String? = null

            @SerializedName("itemcode")
            var itemcode: String? = null

            @SerializedName("itemname")
            var itemname: Itemname? = null

            @SerializedName("itemskucode")
            var itemskucode: String? = null

            @SerializedName("itemskuname")
            var itemskuname: String? = null

            @SerializedName("skuid")
            var skuid: Long = 0

            @SerializedName("itemid")
            var itemid: Long = 0

            @SerializedName("itembarcode")
            var itembarcode: Itembarcode? = null

            class Name {
                @SerializedName("zh_CN")
                var zhCn: String? = null
            }

            class Itemname {
                @SerializedName("zh_CN")
                var zhCn: String? = null
            }

            class Itembarcode {
                @SerializedName("id")
                var id: Long = 0

                @SerializedName("number")
                var number: String? = null

                @SerializedName("name")
                var name: Name? = null

                @SerializedName("entryentity")
                var entryentity: List<Entryentity>? = null

                class Name
                class Entryentity {
                    @SerializedName("id")
                    var id: Long = 0

                    @SerializedName("itemnumber")
                    var itemnumber: String? = null
                }
            }
        }

        class Location {
            @SerializedName("id")
            var id: Long = 0

            @SerializedName("number")
            var number: String? = null

            @SerializedName("name")
            var name: Name? = null

            @SerializedName("status")
            var status: String? = null

            @SerializedName("enable")
            var enable: String? = null

            class Name {
                @SerializedName("zh_TW")
                var zhTw: String? = null

                @SerializedName("GLang")
                var gLang: String? = null

                @SerializedName("zh_CN")
                var zhCn: String? = null
            }
        }

        class Invstatus {
            @SerializedName("id")
            var id: Long = 0

            @SerializedName("number")
            var number: String? = null

            @SerializedName("name")
            var name: Name? = null

            class Name {
                @SerializedName("zh_TW")
                var zhTw: String? = null

                @SerializedName("zh_CN")
                var zhCn: String? = null
            }
        }

        class Detailowner {
            @SerializedName("id")
            var id: Long = 0

            @SerializedName("number")
            var number: String? = null

            @SerializedName("name")
            var name: Name? = null

            class Name {
                @SerializedName("GLang")
                var gLang: String? = null

                @SerializedName("zh_CN")
                var zhCn: String? = null
            }
        }
    }
}